1. 参考资料

  1. Mozilla MDN:详细的RegExp说明和使用
  2. 在线神器:方便的在线测试和快速构造
  3. 廖大角虫教程:应用和主要函数一览无余

2. 函数

  1. exec()函数
    不要把正则表达式字面量(或者正则表达式构造器)放在 while 条件表达式里。由于每次迭代时 lastIndex 的属性都被重置,如果匹配,将会造成一个死循环。

    var myRe = /ab*/g;
    var str = 'abbcdefabh';
    var myArray;
    while ((myArray = myRe.exec(str)) !== null) {
      var msg = 'Found ' + myArray[0] + '. ';
      msg += 'Next match starts at ' + myRe.lastIndex;
      console.log(msg);
    }
    //Found abb. Next match starts at 3
    //Found ab. Next match starts at 9